<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Error Reporting Functions</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Getting Started with Berkeley DB" />
    <link rel="up" href="databases.html" title="Chapter 7. Databases" />
    <link rel="prev" href="DBAdmin.html" title="Administrative Methods" />
    <link rel="next" href="CoreEnvUsage.html" title="Managing Databases in Environments" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Error Reporting Functions</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="DBAdmin.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 7. Databases</th>
          <td width="20%" align="right"> <a accesskey="n" href="CoreEnvUsage.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="dbErrorReporting"></a>Error Reporting Functions</h2>
          </div>
        </div>
      </div>
      <p>
        To simplify error reporting and handling, the
        
        
        <span><code class="classname">DatabaseConfig</code> class</span>
        offers several useful methods. 
        
        
        

    </p>
      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>
                
                <code class="methodname">DatabaseConfig.setErrorStream()</code>
            </p>
            <p>
                Sets the 
                    
                    <span>Java <code class="classname">OutputStream</code></span>
                to be used for displaying error messages issued by the DB library. 
            </p>
          </li>
          <li>
            <p>
                
                <code class="methodname">DatabaseConfig.setMessageHandler()</code>
            </p>
            <p>
                Defines the message handler that is called when an error message is
                issued by DB. The error prefix and message are passed to
                this callback. It is up to the application to display this
                information correctly.
            </p>
            <p>
                Note that the message handler must be an implementation of the
                <code class="classname">com.sleepycat.db.MessageHandler</code>
                interface.
            </p>
          </li>
          <li>
            <p>
                
                <code class="methodname">DatabaseConfig.setErrorPrefix()</code>
            </p>
            <p>
                Sets the prefix used for any error messages issued by the
                DB library.
            </p>
          </li>
        </ul>
      </div>
      <p>
        For example, to send all your error messages to a particular message
        handler, first implement the handler:
    </p>
      <a id="java_db10"></a>
      <pre class="programlisting">package db.GettingStarted;

import com.sleepycat.db.Environment;
import com.sleepycat.db.MessageHandler;

public class MyMessageHandler implements MessageHandler  {

    // Our constructor does nothing
    public MyMessageHandler() {}

    public void message(Environment dbenv, String message)
    {
        // Put your special message handling code here
    }

}</pre>
      <p>
        And then set up your database to use the message handler by identifying
        it on the database's <code class="classname">DatabaseConfig</code> object:
    </p>
      <a id="java_db11"></a>
      <pre class="programlisting">package db.GettingStarted;

import com.sleepycat.db.DatabaseConfig;

...

DatabaseConfig myDbConfig = new DatabaseConfig();
MyMessageHandler mmh = new MyMessageHandler();
myDbConfig.setMessageHandler(mmh); </pre>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="DBAdmin.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="databases.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="CoreEnvUsage.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Administrative Methods </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Managing Databases in Environments</td>
        </tr>
      </table>
    </div>
  </body>
</html>
